#ifndef EAP_TLV_H
#define EAP_TLV_H

/* EAP-TLV TLVs (draft-josefsson-ppext-eap-tls-eap-07.txt) */
#define EAP_TLV_RESULT_TLV 3 /* Acknowledged Result */
#define EAP_TLV_NAK_TLV 4
#define EAP_TLV_CRYPTO_BINDING_TLV 5
#define EAP_TLV_CONNECTION_BINDING_TLV 6
#define EAP_TLV_VENDOR_SPECIFIC_TLV 7
#define EAP_TLV_URI_TLV 8
#define EAP_TLV_EAP_PAYLOAD_TLV 9
#define EAP_TLV_INTERMEDIATE_RESULT_TLV 10

#define EAP_TLV_RESULT_SUCCESS 1
#define EAP_TLV_RESULT_FAILURE 2


u8 * eap_tlv_build_nak(int id, int nak_type, size_t *resp_len);
u8 * eap_tlv_build_result(int id, int status, size_t *resp_len);
int eap_tlv_process(struct eap_sm *sm, struct eap_hdr *hdr,
		    u8 **resp, size_t *resp_len);

#endif /* EAP_TLV_H */
